package chapter02.s03operator;

public class LogicalOperator {
    public static void main(String[] args) {
        // 逻辑运算符
        /*
            ! 逻辑非
            && 条件与，短路
            || 条件或，短路
            ^ 逻辑异或
            & 逻辑与，不短路
            | 逻辑或，不短路
         */
        boolean a = true;
        boolean b = false;
        System.out.println("a && b = " + (a && b));
        System.out.println("a || b = " + (a || b));
        System.out.println("!(a && b) = " + !(a && b));
        System.out.println("a ^ b = " + (a ^ b));

        // 短路
        // a && b; 如果a为false，则不运算b，短路
        // a || b; 如果a为true，则不运算b，短路
        int c = 5;//定义一个变量；
        boolean d = (c < 4) && (c++ < 10);
        System.out.println("使用短路逻辑运算符的结果为" + d);
        System.out.println("c的结果为" + c);
    }
}
